In mathematics, in particular linear algebra, the Sherman–Morrison formula,[1][2][3] named after Jack Sherman and Winifred J. Morrison, computes the inverse of the sum of an invertible matrix and the dyadic product, , of a column vector and a row vector . The Sherman–Morrison formula is a special case of the Woodbury formula. Though named after Sherman and Morrison, it appeared already in earlier publications [4]
Contents |
Suppose is an invertible square matrix and , are vectors. Suppose furthermore that . Then the Sherman–Morrison formula states that
Here, is the dyadic product of two vectors and . The general form shown here is the one published by Bartlett.[5]
If the inverse of is already known, the formula provides a numerically cheap way to compute the inverse of corrected by the matrix (depending on the point of view, the correction may be seen as a perturbation or as a rank-1 update). The computation is relatively cheap because the inverse of does not have to be computed from scratch (which in general is expensive), but can be computed by correcting (or perturbing) .
Using unit columns (columns from the identity matrix) for or , individual columns or rows of may be manipulated and a correspondingly updated inverse computed relatively cheaply in this way.[6] In the general case, where is a times matrix and and are arbitrary vectors of dimension , the whole matrix is updated[5] and the computation takes scalar multiplications.[7] If is a unit column, the computation takes only scalar multiplications. The same goes if is a unit column. If both and are both unit columns, the computation takes only scalar multiplications.
We verify the properties of the inverse. A matrix (in this case the right-hand side of the Sherman–Morrison formula) is the inverse of a matrix (in this case ) if and only if .
We first verify that the right hand side () satisfies .
Note that is a scalar, so can be factored out, leading to:
In the same way, it is verified that
Following is an alternate verification of the Sherman–Morrison formula using the easily verifiable identity
Let and , then
Substituting gives